Skip to content

feat: skip symbols with unparseable GUIDs, add portable pdb support#189

Merged
bobbyg603 merged 4 commits into
mainfrom
feat/skip-unparseable-symbols
Apr 1, 2026
Merged

feat: skip symbols with unparseable GUIDs, add portable pdb support#189
bobbyg603 merged 4 commits into
mainfrom
feat/skip-unparseable-symbols

Conversation

@bobbyg603
Copy link
Copy Markdown
Member

@bobbyg603 bobbyg603 commented Apr 1, 2026

Summary

  • Update pdb-guid to 2.1.0 which adds Portable PDB (.NET) support
  • Replace separate tryGetPdbGuid/tryGetPeGuid with unified tryGetGuid using createFromFile
  • Skip upload for files where GUID parsing fails instead of falling back to legacy symbol store (avoids 8GB size limit failures)
  • Source maps (.map) still use the legacy upload path since they don't have GUIDs
  • Combine isPdbFile/isPeFile checks in info.ts since they share the same handler

Fixes #186 Closes DEV-317

Test plan

  • Native PDB returns correct GUID
  • Portable PDB now returns a GUID (previously returned empty string)
  • PE files (.exe/.dll) return correct GUID
  • Corrupt/unrecognized files return empty string
  • Files with no GUID are skipped (not uploaded to legacy store)
  • Source maps still upload via legacy versionsClient
  • All 43 tests passing

🤖 Generated with Claude Code

bobbyg603 and others added 2 commits April 1, 2026 18:38
Update pdb-guid to 2.1.0 which adds Portable PDB support. Replace
separate tryGetPdbGuid/tryGetPeGuid with unified tryGetGuid using
createFromFile. Skip upload for files where GUID parsing fails instead
of falling back to legacy symbol store, except for source maps which
still use the legacy upload path.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 1, 2026 22:39
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates symbol GUID extraction to use pdb-guid’s unified createFromFile API (including Portable PDB support) and changes upload behavior to skip non-source-map files when GUID parsing fails, avoiding legacy-store size limit failures.

Changes:

  • Introduce tryGetGuid (via createFromFile) and wire it into symbol file info creation for PDB/PE inputs.
  • Update upload logic to skip non-zip, non-source-map files when dbgId is missing, while keeping .map uploads on the legacy path.
  • Replace/adjust tests to cover the unified GUID logic and new skip/legacy behaviors.

Reviewed changes

Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/worker.ts Adjusts upload routing: symbols store for GUID-bearing files, legacy for source maps/zips, skip when GUID missing.
src/info.ts Consolidates PDB/PE detection and uses unified GUID extraction helper.
src/pdb.ts Removes legacy per-format GUID helpers.
src/guid.ts Adds unified GUID extraction wrapper around pdb-guid’s createFromFile.
spec/worker.spec.ts Updates tests for skip behavior and source map legacy upload path.
spec/pdb.spec.ts Removes old PDB/PE-specific GUID tests.
spec/guid.spec.ts Adds tests for unified GUID extraction (including Portable PDB).
package.json Updates pdb-guid dependency (currently to a local file reference).
package-lock.json Reflects the pdb-guid dependency change (currently as a local link).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread package.json
Comment thread src/worker.ts
Comment thread src/worker.ts Outdated
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@bobbyg603 bobbyg603 merged commit 2050272 into main Apr 1, 2026
7 checks passed
@bobbyg603 bobbyg603 deleted the feat/skip-unparseable-symbols branch April 1, 2026 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unreal Symbol Failing to Parse GUID

3 participants